﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace DIProject.Util.Login
{
    public class RegonfigureConnectionString
    {
        private static string template = @"Data Source={0};Initial Catalog={1};User={2};Password={3}";
        private static Regex DataSource = new Regex("Data Source=(?<DataSource>[^;]+)", RegexOptions.IgnoreCase);
        private static Regex InitialCatalog = new Regex("Initial Catalog=(?<InitialCatalog>[^;]+)", RegexOptions.IgnoreCase);
        public static string Reconfire(string oldString,string user, string password)
        {
            Match ds = DataSource.Match(oldString);
            if (ds == null)
            {
                throw new Util.DIException("Неправильная строка подключения к БД в конфигурационном файле");
            }
            string dSource = ds.Groups["DataSource"].Value;
            Match ic = InitialCatalog.Match(oldString);
            if (ic == null)
            {
                throw new Util.DIException("Неправильная строка подключения к БД в конфигурационном файле");
            }
            string iCatalog = ic.Groups["InitialCatalog"].Value;
            string result = string.Format(template, dSource, iCatalog, user, password);
            return result;
        }
    }
}
